
package com.doc2video.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doc2video.entity.Video;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 视频Mapper接口
 */
@Mapper
public interface VideoMapper extends BaseMapper<Video> {

    /**
     * 分页查询用户视频列表
     */
    IPage<Video> selectPageByUserId(Page<Video> page, @Param("userId") Long userId);

    /**
     * 根据文档ID查询视频
     */
    Video selectByDocumentId(@Param("documentId") Long documentId);

    /**
     * 更新处理状态
     */
    void updateProcessStatus(@Param("id") Long id, @Param("status") Integer status, 
                           @Param("progress") Integer progress, @Param("errorMsg") String errorMsg);

    /**
     * 更新下载次数
     */
    void incrementDownloadCount(@Param("id") Long id);

    /**
     * 更新视频文件信息
     */
    void updateVideoInfo(@Param("id") Long id, @Param("videoPath") String videoPath, 
                        @Param("fileSize") Long fileSize, @Param("duration") Integer duration);
}
